Desktop Client, Client Platform And Game Entity In Desktop Multi-Person Network Game System

ABSTRACT

A desktop client in a desktop multi-person network game system is provided. The desktop client is divided into the client platform and the game entity; when a game changes, it is only needed to change a game logic and a game protocol in the game entity.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No.PCT/CN2009/075664 filed on Dec. 17, 2009. This application claims thebenefit and priority of CN 200910078409.4, filed Feb. 20, 2009. Theentire disclosures of each of the above applications are incorporatedherein by reference.

FIELD

The present disclosure relates to network communication fields, and to adesktop client, client platform, and game entity in a desktopmulti-person network game system.

BACKGROUND

This section provides background information related to the presentdisclosure which is not necessarily prior art.

With the development of Internet, more and more users communicate witheach other on the Internet. Desktop multi-person network games areprovided for the users, and in the desktop multi-person network game,the game is directly running on the desktop without any running windowdisplayed on the desktop. In order to enable users to play amulti-person game on the Internet, conventional desktop multi-personnetwork games are usually configured based on a Client/Server (C/S)structure including a desktop client and a game server, as shown inFIG. 1. The game server is configured to decode data flows from thedesktop client, verify whether the data flows is legal, process a gamekey logic, update data, such as game state and player information etc.,and send new data to the desktop client through a Transmission ControlProtocol (TCP) or a User Datagram Protocol (UDP). The desktop client isconfigured to respond to a user operation, execute a game client logic,decode an executing result into a binary flow, send the binary flow tothe game server through the TCP or the UDP, update game output accordingto the data returned by the game server, and return updated game outputto the user, referring to FIG. 2.

Since the desktop client in the conventional approach is developedseparately for each game, when the game changes, the desktop clientcannot be compatible with the changed game and needs to be developedagain, thereby increasing the development period and development costs,which is difficult to meet the requirements of rapid development,publication and application of desktop multi-person network gameproducts.

SUMMARY

This section provides a general summary of the disclosure, and is not acomprehensive disclosure of its full scope or all of its features.

Various embodiments provide a desktop multi-person network game systemto reduce development period and development costs of the desktopmulti-person network game system.

A various embodiment provides a desktop client in a desktop multi-personnetwork game system, and the desktop client includes: a client platformand a game entity; wherein

-   -   the client platform configured to establish a data channel        between a game server and the game entity, load and operate the        game entity, forward an operation command of a user to the game        entity, receive and execute game output data transmitted by the        game entity, and provide an application interface for the game        entity; and    -   the game entity configured to configure a game logic and a game        protocol, receive the operation command of the user forwarded by        the client platform, generate the game output data according to        the game logic, transmit the game output data to the client        platform, and exchange information with the game server through        the data channel.

Another various embodiment provides a client platform in a desktopmulti-person network game system, and the client platform includes:

-   -   a game engine configured to load and operate a game entity,        receive an operation command of a user, forward the operation        command to the game entity, receive and execute game output data        transmitted by the game entity, and output a game output result        to the user;    -   an application interface unit configured to provide an        application interface for the game entity; and    -   a network communication unit configured to implement        communication between the client platform and a game server, and        communicate with the game entity through the application        interface provided by the application interface unit.

Other various embodiments provide a game entity in a desktopmulti-person network game system, and the game entity includes:

-   -   a game logic unit configured to configure a game processing        logic;    -   a game protocol unit configured to configure a game operating        protocol;    -   a network protocol unit configured to configure a communication        protocol between a client platform and the game entity; and    -   a game logic/protocol processing unit configured to receive an        operation command of a user forwarded by the client platform,        invoke the game processing logic in the game logic unit,        generate game output data, transmit the game output data to the        client platform, invoke an application interface provided by the        client platform, trigger the client platform to execute a        corresponding operation, communicate with a game server through        the application interface provided by the client platform.

In various embodiments, the desktop client is divided into the clientplatform and the game entity; when a game changes, it is only necessaryto change the game logic and the game protocol in the game entity, andis not necessary to redesign the client platform, thereby reducing thedevelopment period and development costs, and meeting the requirementsof rapid development, publication and application of desktop gameproducts.

Further areas of applicability will become apparent from the descriptionprovided herein. The description and specific examples in this summaryare intended for purposes of illustration only and are not intended tolimit the scope of the present disclosure.

DRAWINGS

The drawings described herein are for illustrative purposes only ofselected embodiments and not all possible implementations, and are notintended to limit the scope of the present disclosure.

FIG. 1 is a schematic diagram illustrating a structure of a conventionaldesktop multi-person game system;

FIG. 2 is a schematic diagram illustrating an operation of aconventional desktop client;

FIG. 3 is a schematic diagram illustrating a structure of a desktopmulti-person game system according to various embodiments;

FIG. 4 is a flowchart illustrating interaction between a client platformand a game entity according to various embodiments; and

FIG. 5 is a schematic diagram illustrating a structure of a clientplatform and a game entity according to various embodiments.

Corresponding reference numerals indicate corresponding parts throughoutthe several views of the drawings.

DETAILED DESCRIPTION

In order to make the object, technical solutions and merits of thepresent invention clearer, the present invention will be illustrated indetail hereinafter with reference to the accompanying drawings andexamples. It should be understood that the examples described herein areonly used to explain the present invention, but not used to limit thepresent invention.

Reference throughout this specification to “one embodiment,” “anembodiment,” “specific embodiment,” or the like in the singular orplural means that one or more particular features, structures, orcharacteristics described in connection with an embodiment is includedin at least one embodiment of the present disclosure. Thus, theappearances of the phrases “in one embodiment” or “in an embodiment,”“in a specific embodiment,” or the like in the singular or plural invarious places throughout this specification are not necessarily allreferring to the same embodiment. Furthermore, the particular features,structures, or characteristics may be combined in any suitable manner inone or more embodiments.

In various embodiments, a desktop client is divided into a clientplatform and a game entity. When a game changes, it is only necessary tochange a game logic and a game protocol in the game entity, and it isnot necessary to redesign the client platform, so as to reduce thedevelopment period and development costs.

FIG. 3 is a schematic diagram illustrating a structure of a desktopmulti-person game system according to various embodiments. In order tobe convenient for description, only parts related to various embodimentsare shown:

-   -   a game server 12 processes a game rule, manages user information        and parses a communication protocol between the game server 12        and a game entity 16;    -   a client platform 14 establishes a data channel between the game        server 12 and the game entity 16, loads and operates the game        entity 16, forwards an operation command of a user to the game        entity 16, receives and executes game output data transmitted by        the game entity 16, outputs a executing result to the user, and        provide an application interface for the game entity 16 to        implement functions which cannot be implemented by the game        entity 16 itself.

In various embodiments, the game output includes characters, images,sound and so on, and further includes physical output, e.g. game handleshake.

The game entity 16 configures a game logic and a game protocol, receivesthe operation command of the user forwarded by the client platform 14,generates the game output data according to the game logic, transmitsthe game output data to the client platform 14, and exchangesinformation with the game server 12 through the data channel establishedby the client platform 14.

The client platform 14 communicates with the game server 12 through theTCP/UDP.

In various embodiments of the present invention, in order to enabledifferent games to communicate with the game server 12 through the datachannel established by the same client platform to reduce thedevelopment workload of the client platform 14, the client platform 14communicates with different game entities through a uniformcommunication protocol. The uniform communication protocol may beself-designed, or a conventional communication protocol is adopted, e.g.a JavaScript Object Notation (JSON) protocol.

The JSON protocol adopts a flexible data exchange format, is easy toread and write, and is easily parsed and generated by a machine. TheJSON protocol adopts a text format independent with languages, butadopts habits of C language family including C, C++, C#, Java,JavaScript, Perl and Python, and thus becomes an ideal data exchangelanguage.

FIG. 4 is a flowchart illustrating interaction between the clientplatform 14 and the game entity 16 according to an example of thepresent invention, which is described as follows.

-   -   1) A user inputs an operation command through a mouse, a        keyboard or a game handle.    -   2) The client platform receives the operation command of the        user.    -   3) The client platform forwards the operation command of the        user to the game entity.    -   4) The game entity processes the operation command of the user        according to a corresponding game logic, and generates game        output data.    -   5) The game entity transmits the game output data to the client        platform.    -   6) The client platform updates a game output according to the        game output data of the game entity, e.g. draws a game image,        and issues a game music adjusting instruction and a game handle        shake instruction.    -   7) The client platform transmits the updated game output to the        user. In this way, the game client may display the drawn game        image and play the adjusted music, or the game handle is        triggered to shake.

FIG. 5 is a schematic diagram illustrating a structure of a clientplatform and a game entity according to various embodiments. In order tobe convenient for description, only parts related to various embodimentsare shown.

A game engine 142 loads and operates the game entity 16, receives anoperation command of a user, and forwards the operation command to thegame entity 16.

A game logic/protocol processing unit 162 receives the operation commandof the user forwarded by the game engine 142, invokes a correspondinggame processing logic in a game logic unit 164, generates game outputdata, and transmits the game output data to the client platform 14.

The game engine 142 executes the game output data after receiving thegame output data transmitted by the game logic 162, e.g. draws a gameinterface and adjusts game sound, and outputs a game output result tothe user.

An application interface unit 144 provides an application interface forthe game entity 16 to implement functions which cannot be implemented bythe game entity 16.

As an embodiment, the application interface unit 144 may provide fourtypes of application interfaces, which include:

-   -   a first type of application interface, which is used to directly        operate a game desktop window, e.g. change the size of the        window, stick the window on the top, hide or display the window        and so on;    -   a second type of application interface, which is used to        communicate with a related service logic, e.g. obtain        information of a related service logic such as a QQ pet, open a        chat window and so on;    -   a third type of application interface, which is a specific        application interface specially used to a certain game or        module, e.g. visit and invite a friend in a friend system;    -   a fourth type of application interface, which is specially used        to make the game entity directly communicate with the game        server 12.

The game logic/protocol processing unit 162 invokes a correspondingapplication interface provided by the application interface unit 144,triggers the game engine 142 to execute a corresponding operation, e.g.change the inside state of the game, or communicate with the game server12 through the application interface provided by the applicationinterface unit 144, and transmits related information.

The network communication unit 146 implements the communication betweenthe client platform 14 and the game server 12 through the TCP or UDP,and communicates with the game entity 16 through the applicationinterface provided by the application interface unit 144.

The game logic unit 164 configures a game processing logic, e.g. amotion mode, motion direction, and position of a game role, drawingparameters of a graphical interface and so on.

The game processing logic generally includes the following:

-   -   transmitting a message to the game server 12;    -   updating game output, e.g. image output, sound output and        physical output such as game handle shake;    -   changing the inside state of the game.

The game protocol unit 164 configures a game operation protocol.

In various embodiments, the game operation protocol is a rule fordecoding and encoding a command corresponding to the protocol. Theinformation transmitted between the game server 12 and the game entity16 is a series of original byte flows, and in the byte flowscorresponding to different commands, the meanings of one byte isdifferent from that of another byte. Therefore, each command correspondsto a protocol to determine a rule for decoding and encoding the command.For example, in a game logging protocol, an account number and passwordfor logging are encoded into byte flows, after the byte flows areprocessed through a network protocol between the client platform 14 andthe game entity 16 which is configured in a network protocol unit 168,e.g. the JSON protocol, the application interface provided by theapplication interface unit 144 is invoked, and the byte flows istransmitted to the game server 12 through the network communication unit146.

The game server 12 transmits a message to the game entity 16 through thenetwork communication unit 146, the network protocol unit 168 invokesthe application interface provided by the application interface unit144, receives the message transmitted by the network communication unit146, and decodes the protocol through the game protocol unit 166. Thegame logic/protocol processing unit 162 triggers the game engine 142according to the decoded message to execute corresponding game output,or communicates with the game server 12.

One skilled in the art would understand that all or part of steps in themethod provided by the embodiments can be implemented by instructingrelated hardware by a program, the program may be stored in a readablememory of a computer, and above method steps are included when theprogram is operated. The memory includes a ROM/RAM, a disk, a CompactDisc (CD) and so on.

In various embodiments, the desktop client is divided into the clientplatform and the game entity. When the game changes, it is onlynecessary to change the game logic and the game protocol in the gameentity, but it is not necessary to redesign the client platform, therebyreducing the development period and development costs, and meeting therequirements of rapid development, publication and application ofdesktop game products.

The foregoing description of the embodiments has been provided forpurposes of illustration and description. It is not intended to beexhaustive or to limit the disclosure. Individual elements or featuresof a particular embodiment are generally not limited to that particularembodiment, but, where applicable, are interchangeable and can be usedin a selected embodiment, even if not specifically shown or described.The same may also be varied in many ways. Such variations are not to beregarded as a departure from the disclosure, and all such modificationsare intended to be included within the scope of the disclosure.

1. A desktop client in a desktop multi-person network game system,comprising a client platform and a game entity, wherein the clientplatform is configured to establish a data channel between a game serverand the game entity, load and operate the game entity, forward anoperation command of a user to the game entity, receive and execute gameoutput data transmitted by the game entity, and provide an applicationinterface for the game entity; and the game entity is configured toconfigure a game logic and a game protocol, receive the operationcommand of the user forwarded by the client platform, generate the gameoutput data according to the game logic, transmit the game output datato the client platform, and exchange information with the game serverthrough the data channel.
 2. The desktop client of claim 1, wherein theclient platform comprises: a game engine configured to load and operatethe game entity, receive the operation command of the user, forward theoperation command to the game entity, receive and execute the gameoutput data transmitted by the game entity, and output a game outputresult to the user; an application interface unit configured to providethe application interface for the game entity; and a networkcommunication unit configured to implement communication between theclient platform and the game server, and communicate with the gameentity through the application interface provided by the applicationinterface unit.
 3. The desktop client of claim 1, wherein the gameentity comprises: a game logic unit configured to configure a gameprocessing logic; a game protocol unit configured to configure a gameoperating protocol; a network protocol unit configured to configure acommunication protocol between the client platform and the game entity;and a game logic/protocol processing unit configured to receive theoperation command of the user forwarded by the client platform, invokethe game processing logic in the game logic unit, generate the gameoutput data, transmit the game output data to the client platform,invoke the application interface provided by the client platform,trigger the client platform to execute a corresponding operation,communicate with the game server through the application interfaceprovided by the client platform.
 4. The desktop client of claim 1,wherein the client platform is configured to communicate with differentgame entities through a uniform communication protocol.
 5. The desktopclient of claim 4, wherein the client platform is configured tocommunicate with different game entities through a JSON protocol.
 6. Thedesktop client of claim 1, wherein the application interface comprises:an interface for directly operating a game desktop window; an interfacefor communicating with a service logic; a special interface for a gameor a module; and an application interface for direct communicationbetween the game entity and the game server.
 7. A client platform in adesktop multi-person network game system, comprising: a game engineconfigured to load and operate a game entity, receive an operationcommand of a user, forward the operation command to the game entity,receive and execute game output data transmitted by the game entity, andoutput a game output result to the user; an application interface unitconfigured to provide an application interface for the game entity; anda network communication unit configured to implement communicationbetween the client platform and a game server, and communicate with thegame entity through the application interface provided by theapplication interface unit.
 8. The client platform of claim 7, whereinthe application interface comprises: an interface for directly operatinga game desktop window; an interface for communicating with a servicelogic; a special interface for a game or a module; and an applicationinterface for direct communication between the game entity and the gameserver.
 9. The client platform of claim 7, wherein the client platformis configured to communicate with different game entities through auniform communication protocol.
 10. The client platform of claim 9,wherein the client platform is configured to communicate with differentgame entities through a JSON protocol.
 11. A game entity in a desktopmulti-person network game system, comprising: a game logic unitconfigured to configure a game processing logic; a game protocol unitconfigured to configure a game operating protocol; a network protocolunit configured to configure a communication protocol between a clientplatform and the game entity; and a game logic/protocol processing unitconfigured to receive an operation command of a user forwarded by theclient platform, invoke the game processing logic in the game logicunit, generate game output data, transmit the game output data to theclient platform, invoke an application interface provided by the clientplatform, trigger the client platform to execute a correspondingoperation, communicate with a game server through the applicationinterface provided by the client platform.
 12. The game entity of claim11, wherein the game entity and other game entity are configured tocommunicate with the client platform through a uniform communicationprotocol.
 13. The game entity of claim 12, wherein the uniformcommunication protocol is a JSON protocol.